home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / memkit.zip / HRAM.DOC < prev    next >
Text File  |  1991-09-12  |  41KB  |  1,295 lines

  1.  
  2.                                                                           1
  3.  
  4.  
  5.           HRAM
  6.           Version 1.1 
  7.           User's Guide
  8.  
  9.           COPYRIGHT   
  10.  
  11.           This HRAM documentation and the software are copyrighted with all
  12.           rights reserved.  Under the copyright laws, neither the
  13.           documentation nor the software may be copied, photocopied,
  14.           reproduced, translated, or reduced to any electronic medium or
  15.           machine-readable form, in whole or in part, without the prior
  16.           written consent of Biologic, except in the manner described in
  17.           this manual.  The unregistered version of HRAM and accompanying
  18.           documentation may be freely copied and distributed.
  19.  
  20.           Copyright (C) Biologic 1990-1991
  21.  
  22.           All rights reserved.  First edition printed 1990.  Printed in the
  23.           United States.
  24.  
  25.           Software License Notice   
  26.  
  27.           Your license agreement with Biologic, which is included with the
  28.           product, specifies the permitted and prohibited uses of the
  29.           product.  Any unauthorized duplication or use of HRAM in whole or
  30.           in part, in print, or in any other storage and retrieval system
  31.           is forbidden.
  32.  
  33.           Licenses and Trademarks   
  34.  
  35.           MS-DOS is a registered trademark of Microsoft Corporation.  HRAM
  36.           is a trademark of Biologic.
  37.  
  38.  
  39.           Biologic
  40.           POB 1267
  41.           Manassas VA 
  42.           22110
  43.           USA
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                                                           2
  62.  
  63.  
  64.           CONTENTS
  65.  
  66.           License Agreement and Disclaimer of Warranty  3
  67.           Introduction  4
  68.           Notes on Memory and Memory Addresses  5
  69.           Testing Your Memory with Chkmem  9
  70.           Notes for 8088 and 80286 PCs  10
  71.           Notes for 80386 PCs  11
  72.           Condensed Instructions  12
  73.           hramdev.sys  14
  74.           hram.exe  16
  75.           hram.sys  20
  76.           Your Turn  22
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.                                                                           3
  121.  
  122.  
  123.           LICENSE AGREEMENT AND DISCLAIMER OF WARRANTY
  124.  
  125.           License agreement   
  126.  
  127.           The terms of this license agreement apply to you and to any
  128.           subsequent licensee of this HRAM software.  Biologic retains the
  129.           ownership of this copy of HRAM software.  This copy is licensed
  130.           to you for use under the following conditions.
  131.  
  132.              You may use the HRAM software on any compatible computer,
  133.              provided the HRAM software is used on only one computer and by
  134.              one user at a time.
  135.  
  136.              You may not provide use of the software in a computer service
  137.              business, network, timesharing, multiple CPU or multiple user
  138.              arrangement to users who are not individually licensed by
  139.              Biologic, except that you may designate any employee to use
  140.              such products on a one employee per license basis.
  141.  
  142.              You may not disassemble or decompile the HRAM software.
  143.  
  144.           Disclaimer of warranty   
  145.  
  146.           Biologic excludes any and all implied warranties, including
  147.           warranties of merchantability and fitness for a particular
  148.           purpose.  Biologic does not make any warranty of representation,
  149.           either express or implied, with respect to this software program,
  150.           its quality, performance, merchantability, or fitness for a
  151.           particular purpose.  Biologic shall not have any liability for
  152.           special, incidental, or consequential damages arising out of or
  153.           resulting from the use of this program.
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                                                           4
  180.  
  181.  
  182.           INTRODUCTION
  183.  
  184.           Description   
  185.  
  186.           HRAM is a powerful memory management program for 8088, 8086,
  187.           80286, 80386 and 80486 PCs that enhances the utilization of high
  188.           memory (memory between 640K and 1024K).  It works in conjunction
  189.           with DOS 5 to create up to 96K of extra low DOS memory and up to
  190.           224K of high DOS memory for use by device drivers (such as
  191.           network drivers) and memory resident programs (TSRs).  In
  192.           addition, it provides many of the necessary memory management
  193.           features DOS 5 left out: 
  194.  
  195.              HRAM creates high memory on 8088, 80286, and 80386 PCs (DOS 5
  196.              creates high memory on 386 PCs only.) 
  197.  
  198.              On 386 PCs, HRAM provides more high memory than DOS 5 by
  199.              thoroughly searching the area between 640K and 1024K and
  200.              converting ALL unused areas to high memory--memory that DOS 5
  201.              often overlooks 
  202.  
  203.              HRAM gives you an extra 64K of high memory for program
  204.              initialization by using expanded memory for loading drivers
  205.              and TSRs--this means you'll often load programs you couldn't
  206.              load before. 
  207.  
  208.              HRAM optimizes your high memory by  automatically determining
  209.              which order and in which memory region your drivers and TSRs
  210.              should be loaded. This one step can easily double the
  211.              utilization of your high memory. (DOS 5 suggests that you
  212.              "experiment with different combinations and orders of
  213.              programs".  When you consider that your high memory may
  214.              consist of several separate regions and that you probably use
  215.              up to a dozen drivers and TSRs, this process, without HRAM,
  216.              could require rebooting your PC thousands of times!)
  217.  
  218.           Overview   
  219.  
  220.           HRAM is a set of programs that consists of: 
  221.  
  222.              hramdev.sys, a device driver that manages upper memory and can
  223.              fill unused upper memory areas with expanded memory or shadow
  224.              RAM.
  225.  
  226.              hram.exe, a program that works in conjunction with the DOS
  227.              LOADHIGH command to optimally load TSRs into the high DOS
  228.              memory created by hramdev.sys.  hram.exe also provides a
  229.              status report of high memory and lists the programs that have
  230.              been loaded into it.
  231.  
  232.              hram.sys, a special driver that works in conjunction with the
  233.  
  234.  
  235.  
  236.  
  237.  
  238.                                                                           5
  239.  
  240.              DOS DEVICEHIGH command to optimally load device drivers into
  241.              high DOS memory.
  242.  
  243.           A utility program, Chkmem, is included in the package and
  244.           provides information about the status of memory in your PC.
  245.  
  246.           Requirements
  247.  
  248.              A PC with a 8088, 8086, 80286, 80386 or 80486 microprocessor.
  249.  
  250.              IBM Personal Computer Disk Operating System (PC-DOS) or
  251.              Microsoft Disk Operating System (MS-DOS) version 5.0 or
  252.              greater.
  253.  
  254.              On 8088 and 80286 PCs, expanded memory version 4 or Chips &
  255.              Technologies shadow RAM.
  256.  
  257.           Contents of the HRAM disk   
  258.  
  259.           The following files are included in the root directory of the
  260.           distribution disk.
  261.  
  262.              hramdev.sys
  263.              hram.exe
  264.              hram.sys
  265.              chkmem.exe
  266.              read.me
  267.  
  268.           There may also be a \freeware directory which contains
  269.           unregistered versions of our other software products.
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.                                                                           6
  298.  
  299.  
  300.           NOTES ON MEMORY 
  301.           AND MEMORY ADDRESSES
  302.  
  303.           Conventional Memory   
  304.  
  305.           Conventional memory is located between 0K and 1024K and is the
  306.           maximum amount of memory that can be addressed by the 8088
  307.           microprocessor on which the IBM PC is based.1  The designers of
  308.           the original PC divided conventional memory space into a 640K
  309.           block of memory to be used by MS-DOS programs (low DOS memory)
  310.           and a 384K block of upper memory (which can be used for high DOS
  311.           memory) for system hardware and ROM.  The term, conventional
  312.           memory, is sometimes used to refer just to memory from 0 to 640K.
  313.  
  314.           Expanded Memory   
  315.  
  316.           Expanded memory is "paged" memory that can exist in 8088, 80286,
  317.           and 80386 based PCs.  As the memory requirements of programs
  318.           grew, expanded memory was developed to support up to 32M of
  319.           memory by swapping small blocks or "pages" of extra memory into
  320.           the 1M address space of the 8088 processor so that only a few
  321.           pages are addressable at a time.  Memory pages that are not in
  322.           use are stored as deactivated pages on an expanded memory board.
  323.  
  324.           The original expanded memory specification, EMS version 3.2, was
  325.           developed jointly by Lotus, Intel, and Microsoft.  Soon after,
  326.           AST and Ashton-Tate developed a similar, but enhanced,
  327.           specification called EEMS.  These two specifications were
  328.           replaced by EMS version 4.0, which incorporated features of both
  329.           specifications.
  330.  
  331.           Below is a summary of a few important features:
  332.  
  333.              An expanded memory page is 16K in size.
  334.  
  335.              Expanded memory that conforms to the version 3.2 specification
  336.              can be mapped only into a 64K region in high memory called the
  337.              page frame.  EMS version 4.0 supports the mapping of expanded
  338.              memory into any location in conventional memory.
  339.  
  340.              A software control program, called an expanded memory manager,
  341.              manages the placement of memory pages, and is typically loaded
  342.              by the config.sys file when your PC is turned on or restarted.
  343.  
  344.           Extended Memory   
  345.  
  346.           Intel's newer processors, starting with the 80286, are capable of
  347.                                         ____________________
  348.  
  349.                11K equals 1,024 bytes. 1024K equals 1,048,576 bytes or 1
  350.           megabyte.
  351.  
  352.  
  353.  
  354.  
  355.  
  356.                                                                           7
  357.  
  358.           addressing memory above 1M--extended memory.  Unfortunately, this
  359.           memory is not addressable when these processors are in a
  360.           processor state called real mode (a mode designed to maintain
  361.           compatibility with the 8088) and cannot be fully utilized when
  362.           using a real mode operating system such as MS-DOS.  
  363.  
  364.           The problem of accessing extended memory while running MS-DOS has
  365.           spawned several solutions:  
  366.  
  367.              On PCs that support extended memory, a feature of the ROM BIOS
  368.              allows programs to copy data between conventional and extended
  369.              memory.  Although programs cannot execute in extended memory,
  370.              they can use it as storage space.  Programs that take
  371.              advantage of this feature include RAM disks, print spoolers,
  372.              and 80286 expanded memory simulators.  
  373.  
  374.              Protected mode run-time environments which allow an
  375.              application program to execute in protected mode under MS-DOS.
  376.  
  377.              80386 memory managers, like VRAM/386, that use the page
  378.              mapping capability of the 80386 processor to convert extended
  379.              memory into expanded memory and provide additional
  380.              conventional memory for use by MS-DOS.  
  381.  
  382.           Memory Addresses   
  383.  
  384.           Memory addresses and ranges are typically specified using
  385.           hexadecimal (hex) numbers.  Hex numbers include the digits 0-9
  386.           and the letters A-F, giving 16 possible values for each hex
  387.           digit. 
  388.  
  389.           Conventional memory can be divided into 64 pages of 16K each.
  390.           These pages can be referred to as page 0, page 1, page 2, and so
  391.           on, or, as is the case in this manual, by their hexadecimal
  392.           segment addresses.  Using this notation, page 0 is at segment 0,
  393.           page 1 is at segment 0400, page 2 is at segment 0800, etc.  The
  394.           following table lists some page numbers and their corresponding
  395.           segment address and linear address:
  396.  
  397.                             Segment      Linear
  398.                Page         Address     Address               ________________________________
  399.  
  400.                   0         0000             0K
  401.                   1         0400            16K
  402.                   2         0800            32K
  403.                   3         0c00            48K
  404.                   4         1000            64K
  405.                   5         1400            80K
  406.                   8         2000           128K
  407.                  12         3000           196K
  408.                  40         a000           640K
  409.                  44         b000           704K
  410.  
  411.  
  412.  
  413.  
  414.  
  415.                                                                           8
  416.  
  417.                  63         fc00         1,008K
  418.  
  419.                   
  420.           The first 40 pages (640K) of conventional memory are used by MS-
  421.           DOS and the other 24 pages are reserved for system hardware and
  422.           ROM.  The exact usage of the upper 384K of conventional memory
  423.           depends on the hardware configuration of your machine; typically,
  424.           several blocks of this area are not used and are simply empty
  425.           space.
  426.  
  427.           The table below lists the memory map of a typical PC:
  428.  
  429.  
  430.              Address
  431.              Range        Description                             ________________________________________
  432.  
  433.              0000-9fff    low DOS memory (640K)
  434.              a000-bfff    VGA display adapter (128K)
  435.              c000-c7ff    hard disk controller (32K)
  436.              c800-cfff    unused address space (32K)
  437.              d000-dfff    expanded memory page frame (64K)    
  438.              e000-efff    unused address space (64K)
  439.              f000-ffff    ROM
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.                                                                           9
  475.  
  476.  
  477.           TESTING YOUR MEMORY WITH CHKMEM
  478.  
  479.           The Chkmem program is a memory utility which displays the types
  480.           and amounts of memory in your PC.  With it, you can determine the
  481.           current status of the upper memory area (the area between 640K
  482.           and 1024K) and the amount of high DOS memory that can be created
  483.           from it.  
  484.  
  485.           Enter the command [chkmem] (don't type the brackets) to display
  486.           the amount of upper memory that can be created on your PC. 
  487.           Example output is shown below:
  488.  
  489.           Biologic Chkmem, version 1.1
  490.           copyright (c) Biologic 1990-1991. all rights reserved.
  491.  
  492.               655360 bytes conventional memory (low DOS memory)
  493.                    0 bytes extended memory
  494.               351232 bytes available XMS memory
  495.               655360 bytes expanded memory
  496.  
  497.                    0 bytes high DOS memory
  498.                    0 bytes upper memory blocks (UMBs)
  499.                    0 bytes expanded memory can be converted to high DOS mem 
  500.                    0 bytes shadow ram can be converted to high DOS memory
  501.               163840 bytes unused areas can be converted to high DOS memory
  502.               163840 bytes high DOS memory can be created
  503.  
  504.  
  505.              If the last line in the listing, "bytes high DOS memory can be
  506.              created", is not 0, then HRAM can create and/or manage high
  507.              DOS memory on your PC.
  508.  
  509.              If you have a 8088 or a 80286 PC and the listing shows that
  510.              the only available source of high DOS memory is "unused
  511.              areas", as in the example above, then you must add expanded
  512.              memory to your system.  Read the section, "Notes for 8088 and
  513.              80286 PCs" for more information on installing expanded memory.
  514.  
  515.              If you have expanded memory and only 65536 bytes (64K) can be
  516.              converted to high DOS memory, your expanded memory may not be
  517.              fully compatible with the EMS version 4.0 specification or it
  518.              may need to be configured differently.  Read the section,
  519.              "Notes for 8088 and 80286 PCs" for more information on
  520.              configuring your expanded memory.
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.                                                                          10
  534.  
  535.  
  536.           NOTES FOR 8088 AND 80286 PCS
  537.  
  538.           1. HRAM can utilize shadow RAM provided on PCs with the NEAT
  539.              Chipset from Chips & Technologies.  Expanded memory is not
  540.              required on PCs that have this chipset.
  541.  
  542.           2. HRAM can also convert expanded memory to high DOS memory,
  543.              provided your expanded memory is hardware compatible with EMS
  544.              version 4.0.  If the Chkmem program reported that only 65536
  545.              bytes of high DOS memory can be created from expanded memory,
  546.              then your expanded memory is either not hardware compatible
  547.              with EMS 4 or it needs to be reconfigured.  Consult the
  548.              documentation for the board or contact your computer dealer to
  549.              make this determination (note: many memory boards are software
  550.              compatible with EMS 4 but are not fully compatible on a
  551.              hardware level). 
  552.  
  553.           3. If your expanded memory is hardware compatible with EMS 4 and
  554.              Chkmem reports that only 65536 bytes of high DOS memory can be
  555.              created from expanded memory, then you need to reconfigure
  556.              your expanded memory by changing the line in your config.sys
  557.              file that loads the expanded memory manager for the board. 
  558.              Run the command [chkmem /c] to display a recommended command
  559.              line for your expanded memory manager.
  560.  
  561.           4. If your expanded memory is not hardware compatible with EMS 4,
  562.              you can still create high DOS memory by using the hramdev /f
  563.              option.  This option will give you 64K of high DOS memory, but
  564.              will make your expanded memory unavailable to other programs.
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                                          11
  593.  
  594.  
  595.           NOTES FOR 80386 PCS
  596.  
  597.           1. HRAM can utilize shadow RAM provided on PCs with the AT/386
  598.              Chipset from Chips & Technologies.  If you do not need to
  599.              convert extended memory to expanded, the expanded memory
  600.              manager, emm386.exe, is not required on PCs that have this
  601.              chipset.
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.                                                                          12
  652.  
  653.  
  654.           CONDENSED INSTRUCTIONS
  655.  
  656.           Creating high DOS memory
  657.  
  658.           1. If you have a 386 PC or if you have EMS 4 expanded memory, you
  659.              need to add a [device=] line to your config.sys file which
  660.              loads your expanded memory manager.  An expanded memory
  661.              manager is a single file which, typically, has "EMM" in its
  662.              name.  If this line already exists in your config.sys file,
  663.              you may need to change the parameters so that your expanded
  664.              memory is configured correctly.  If you are using shadow RAM
  665.              to create high DOS memory, you should skip this step.
  666.  
  667.                 80386 PCs: DOS 5 provides an expanded memory manager,
  668.                 emm386.exe, for use on 386 PCs.  If you have a 386 PC, you
  669.                 should run the [chkmem /c] command to list the recommend
  670.                 command line for emm386.exe, and add this line to your
  671.                 config.sys file (or modify it if it already exists). This
  672.                 line should be located immediately after the line
  673.                 [device=himem.sys].
  674.  
  675.                 8088/80286 PCs: Run the command [chkmem /c] to list a
  676.                 recommended command line for the expanded memory manager
  677.                 that was provided with your memory board.  You should add
  678.                 this line to your config.sys file (or modify it if it
  679.                 already exists).  Since expanded memory managers are
  680.                 different for every board, the syntax of this command may
  681.                 differ slightly from what is displayed by [chkmem /c].  You
  682.                 should consult the documentation for your memory board for
  683.                 information on the exact syntax of this command.
  684.  
  685.           2. Add the line [dos=umb] to your config.sys file. 
  686.  
  687.           3. Add the line [device=hramdev.sys] to your config.sys file. 
  688.              This line should be located immediately after the line that
  689.              loads emm386.exe [device=emm386.exe] or, if you have a 8088 or
  690.              80286 PC, this line should be located immediately after the
  691.              line that loads the expanded memory manager for your memory
  692.              board.  If you do not have expanded memory, this line should
  693.              be located near the beginning before any other [device=]
  694.              lines.
  695.  
  696.           4. Reboot your PC and run the Chkmem program.  Chkmem should
  697.              report a non-zero value for "bytes high DOS memory".  Enter
  698.              the command [chkmem /h] to display the size and location of
  699.              the high DOS memory regions in your PC.
  700.  
  701.           Optimizing high DOS memory
  702.  
  703.           High DOS memory is utilized in two ways: (1) programs that
  704.           recognize this area will automatically take advantage of it, and
  705.  
  706.  
  707.  
  708.  
  709.  
  710.                                                                          13
  711.  
  712.           (2) TSRs and device drivers can be loaded into it with the DOS
  713.           commands DEVICEHIGH and LOADHIGH.  
  714.  
  715.           The process of loading programs high is complicated by the fact
  716.           that high DOS memory is a relatively small area, which may
  717.           consist of several regions of different sizes, and that, when
  718.           loaded, programs have an initialization size which may be much
  719.           larger (or smaller) than their resident size.  Loading programs
  720.           in a different order or into different memory regions can
  721.           significantly increase the number of programs you are able to
  722.           load high.  
  723.  
  724.           HRAM provides features which allow you to gain optimum use of
  725.           your high DOS memory: it automatically determines the resident
  726.           size and initialization size of each of your drivers and TSRs, it
  727.           calculates the best configuration for your high memory, it allows
  728.           you to load a program into a specific region, and it provides an
  729.           extra 64K of memory for program initialization by temporarily
  730.           adding expanded memory to high DOS memory.
  731.  
  732.           Follow the steps below to optimize your memory:
  733.  
  734.           1. Add the /s option to the [device=hramdev.sys] line in your
  735.              config.sys file and add a new line as shown below:
  736.  
  737.              device=hramdev.sys /s
  738.              device=hram.sys on
  739.  
  740.           2. Reboot your PC.
  741.  
  742.           3. Type the command [hram /l] to list the analysis of your
  743.              drivers and TSRs.
  744.  
  745.           4. Type the command [hram /c] to list recommended commands for 
  746.              loading your programs high and add these lines to your
  747.              config.sys and autoexec.bat files. 
  748.  
  749.           5. Remove the /s option from the [device=hramdev.sys] line in
  750.              your config.sys file and reboot your PC.
  751.  
  752.           6. Use the [hram /m] command to list the programs that have been
  753.              loaded into high DOS memory.
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.                                                                          14
  770.  
  771.  
  772.           HRAMDEV.SYS
  773.  
  774.           Command reference   
  775.  
  776.           The format of the hramdev.sys command is
  777.  
  778.           device=d:\path\hramdev.sys [options]
  779.  
  780.           [options]
  781.              specifies the optional hramdev.sys parameters described in the
  782.              following section.
  783.  
  784.           The following options can appear in the hramdev.sys command.  
  785.  
  786.           /f
  787.              Use the expanded memory page frame for high DOS memory.  The
  788.              page frame is a 64K buffer in the high memory area into which
  789.              expanded memory pages are mapped.  Although EMS version 4.0
  790.              supports mapping of expanded memory to areas outside the page
  791.              frame, most software programs, at a minimum, require the page
  792.              frame to be available.  This option will create an additional
  793.              64K of high memory, but will, in most cases, prevent other
  794.              programs from utilizing expanded memory.
  795.  
  796.           /i<addressrange>
  797.              Include address range.  The memory range specified by
  798.              <addressrange> will be converted to high DOS memory.  It must
  799.              be above a000 (hex).  <addressrange> is specified with
  800.              hexadecimal segment addresses which must be multiples of 16K
  801.              (0000, 0400, 0800, 0c00, 1000, 1400, ...).  For example, to
  802.              include the range c000 to c800 use the parameter [/ic000-
  803.              c800].  Multiple include ranges should be separated by commas. 
  804.              For example, [/ic000-c800,e000-f000].
  805.  
  806.              If /i is used, only the memory areas with the include range(s)
  807.              will be available as high DOS memory.
  808.  
  809.              This option is useful only if there are mappable areas in high
  810.              memory that should not be under the control of hramdev.sys. 
  811.              Normally, this option should not be used; hramdev.sys will
  812.              automatically convert all mappable high memory (excluding the
  813.              page frame) into high DOS memory.  
  814.  
  815.           /n
  816.              No pause on error.  If hramdev.sys reports an error, it waits
  817.              for you to press a key.  This option causes hramdev.sys to
  818.              continue without waiting for a key.
  819.  
  820.           /p
  821.              Do not use expanded memory for program initialization. 
  822.              Normally, HRAM provides extra memory for use by programs
  823.  
  824.  
  825.  
  826.  
  827.  
  828.                                                                          15
  829.  
  830.              during their initialization by temporarily adding 64K of
  831.              expanded memory to high DOS memory. 
  832.  
  833.           /s
  834.              Get size of programs.  HRAM will calculate the resident size
  835.              and initialization size of every driver and TSR that is loaded
  836.              after it and write this information to the file
  837.              "\hram0000.dat" for use by the [hram /l] command.  Programs
  838.              will not be loaded high when this option is used.
  839.  
  840.  
  841.           /x<addressrange>
  842.              Exclude address range.  This option prevents hramdev.sys from
  843.              using a particular range of addresses.  <addressrange> is
  844.              specified with hexadecimal segment addresses which must be
  845.              multiples of 16K.  For example, to exclude the range c000 to
  846.              c800 use the parameter [/xc000-c800].  Multiple exclude ranges
  847.              should be separated by commas.  For example, [/xc000-
  848.              c800,e000-f000].
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.                                                                          16
  888.  
  889.  
  890.           HRAM.EXE
  891.  
  892.           Displaying regions and programs in high memory   
  893.  
  894.           The command, [hram /m], will display a status report of the high
  895.           memory created by hramdev.sys.  As illustrated in the following
  896.           example, the report lists the location and size of each high
  897.           memory region as well as the TSRs and drivers that have been
  898.           loaded:
  899.  
  900.           Biologic HRAM, version 1.1
  901.           copyright (c) Biologic 1990-1991. all rights reserved.
  902.  
  903.           region  address                size
  904.           ------  ---------  ----------------
  905.           0       b002-b7fd    32704 ( 31.9k)
  906.           1       c802-dfff    98272 ( 96.0k)
  907.  
  908.           region  address                size  program
  909.           ------  ---------  ----------------  -------
  910.           0       b003-b01b      400 (  0.4k)  (character device) setverxx
  911.           0       b01d-b122     4192 (  4.1k)  (character device) con     
  912.           0       b124-b67d    21920 ( 21.4k)  (character device) smartaar
  913.           0       b684-b6e0     1488 (  1.5k)  c:\util\unblink.com
  914.           0       b6e7-b7d9     3888 (  3.8k)  c:\util\calc.com
  915.           0       b7db-b7fd      560 (  0.5k)  (avail)
  916.           0                      128 (  0.1k)  other allocated blocks
  917.           1       c803-cba0    14816 ( 14.5k)  (character device) ms$mouse
  918.           1       cba7-cdcc     8800 (  8.6k)  c:\util\anarkey.com
  919.           1       cdd3-cdfe      704 (  0.7k)  c:\util\fastkey.com
  920.           1       ce05-ce27      560 (  0.5k)  c:\util\scrnsave.com
  921.           1       ce29-dfff    73072 ( 71.4k)  (avail)
  922.           1                      192 (  0.2k)  other allocated blocks
  923.  
  924.           expanded memory page frame located at: e000
  925.           hram: off
  926.  
  927.  
  928.           Note that each region is identified by a number, starting with 0,
  929.           and that the report indicates into which region each TSR or
  930.           device driver has been loaded.  The amount of available space
  931.           remaining in each region is listed also.
  932.  
  933.           The command, [hram /a], will list the raw memory allocations in
  934.           high memory.
  935.  
  936.  
  937.           Loading TSRs into high DOS memory   
  938.  
  939.           hram.exe, itself, does not load programs into high memory, it
  940.           works in conjunction with DOS to improve the function of the
  941.  
  942.  
  943.  
  944.  
  945.  
  946.                                                                          17
  947.  
  948.           LOADHIGH command.  hram.exe provides a way to load a program into
  949.           a specific memory region and provides an extra 64K for program
  950.           initialization by temporarily converting expanded memory to high
  951.           DOS memory.  To illustrate, suppose you wish to load a TSR
  952.           program, called Notepad, into high DOS memory.  The command you
  953.           normally use to load it into low memory is:
  954.  
  955.           notepad /i
  956.  
  957.           The command to load it into high memory, without using HRAM,
  958.           would be:
  959.  
  960.           loadhigh notepad /i
  961.  
  962.           The commands to load the program into the second memory region in
  963.           high memory (regions are numbered starting with 0) and provide an
  964.           additional 64K of memory would be:
  965.  
  966.           hram on /r1
  967.           loadhigh notepad /i
  968.           hram off
  969.  
  970.           Although the LOADHIGH command alone will load notepad into high
  971.           memory, it will load it into the first available high memory
  972.           region; the advantage to using HRAM is that it will force
  973.           LOADHIGH to load it into a specific region.  This is an important
  974.           feature, since in order to gain optimum use of high memory, your
  975.           programs should be loaded into the region recommended by HRAM
  976.           (with the [hram /l] command).  In addition, suppose you have 100K
  977.           of high memory, but the notepad program requires 150K for
  978.           initialization.  Without HRAM, there would not be enough high
  979.           memory and LOADHIGH would load it into low memory.  Since HRAM
  980.           provides an additional 64K for initialization, the program would
  981.           be successfully loaded high.
  982.  
  983.           The HRAM command can be executed at the DOS prompt or it can be
  984.           used within a batch file (usually your autoexec.bat file).  When
  985.           the HRAM command is executed without any parameters, [hram], it
  986.           reports the current status of HRAM--on or off.
  987.  
  988.  
  989.           Command reference   
  990.  
  991.           The format of the HRAM command is
  992.  
  993.           hram [on|off] [options] 
  994.  
  995.           [on|off]
  996.              specifies whether HRAM should be "on" or "off".  When HRAM is
  997.              on, programs can only be loaded into the memory region
  998.              specified on the HRAM command line (with the /r option) and
  999.              64K of expanded memory is temporarily converted to high DOS
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.                                                                          18
  1006.  
  1007.              memory. 
  1008.  
  1009.           [options]
  1010.              specifies the optional HRAM parameters described in the
  1011.              following section.
  1012.  
  1013.           The following options can appear in the HRAM command. 
  1014.  
  1015.           /?
  1016.              Display help.
  1017.  
  1018.           /a
  1019.              List raw memory allocations in high DOS memory.  Use this
  1020.              option to display the memory control blocks that have been
  1021.              allocated from high memory.
  1022.  
  1023.           /c
  1024.              List recommended config.sys and autoexec.bat files.  When the
  1025.              /s option is added to the hramdev.sys command and your PC is
  1026.              rebooted, information about the memory requirements of your
  1027.              drivers and TSRs is written to the file "\hram0000.dat".  The
  1028.              command [hram /c] analyzes this information and displays a
  1029.              list of recommended commands for your config.sys and
  1030.              autoexec.bat files.
  1031.  
  1032.           /i
  1033.              Display registration information.  This option causes hram.exe
  1034.              to list information about registering your copy of HRAM.  If
  1035.              you have not purchased a registered copy of HRAM, and you
  1036.              continue to use it after a reasonable testing period, you are
  1037.              required to register your copy.
  1038.  
  1039.           /l
  1040.              List analysis of programs.  When the /s option is added to the
  1041.              hramdev.sys command and your PC is rebooted, information about
  1042.              the memory requirements of your drivers and TSRs is written to
  1043.              the file "\hram0000.dat".  The command [hram /l] analyzes this
  1044.              information and displays the optimum load order and memory
  1045.              region for each program.
  1046.  
  1047.           /m
  1048.              List regions and programs in high DOS memory.  [hram /m] lists
  1049.              a status report of high memory, including the size and
  1050.              location of each memory region and program or device driver. 
  1051.              Read the previous section, "Displaying regions and programs in
  1052.              high memory", for more information.
  1053.  
  1054.           /n
  1055.              No pause on error.  If hram.exe reports an error, it waits for
  1056.              you to press a key.  This option causes hram.exe to continue
  1057.              without waiting for a key.
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.                                                                          19
  1065.  
  1066.           /o<order>
  1067.              Set program load order.  This option is useful only if you
  1068.              have a program which must be loaded before one or more other
  1069.              programs.  For example, to ensure that program1.exe is loaded
  1070.              before program2.exe and program3.exe, include these commands
  1071.              in your autoexec.bat file:
  1072.  
  1073.              hram on /o1
  1074.              program1
  1075.              hram on /o2
  1076.              program2
  1077.              program3
  1078.              hram on
  1079.  
  1080.              To ensure that program1.exe is loaded before program2.exe and
  1081.              that program2.exe is loaded before program3.exe, use these
  1082.              commands:
  1083.  
  1084.              hram on /o1
  1085.              program1
  1086.              hram on /o2
  1087.              program2
  1088.              hram on /o3
  1089.              program3
  1090.              hram on
  1091.  
  1092.              This option is valid only if the /s option is used on the
  1093.              hramdev.sys command line.  Otherwise, it is ignored.
  1094.  
  1095.           /p
  1096.              Do not temporarily convert 64K of expanded memory to high DOS
  1097.              memory for use during program initialization.
  1098.  
  1099.           /r<region>
  1100.              Load into memory region number <region>.  This option causes
  1101.              LOADHIGH to load one or more programs into the specified
  1102.              memory region.  For example, the following commands would load
  1103.              the programs, notepad.exe and calc.exe, into memory region 1
  1104.              (memory regions are numbered starting with 0): 
  1105.  
  1106.              hram on /r1
  1107.              loadhigh notepad
  1108.              loadhigh calc
  1109.              hram off
  1110.  
  1111.              Without this option, LOADHIGH loads programs into the first
  1112.              memory region in which they fit.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.                                                                          20
  1124.  
  1125.  
  1126.           HRAM.SYS
  1127.  
  1128.           Like hram.exe, hram.sys does not load programs into high memory,
  1129.           it works in conjunction with DOS to improve the function of the
  1130.           DEVICEHIGH command.  hram.sys provides a way to load a device
  1131.           driver into a specific memory region and provides an extra 64K
  1132.           for driver initialization by temporarily converting expanded
  1133.           memory to high DOS memory.  To illustrate, suppose you wish to
  1134.           load the device driver, ansi.sys, into high DOS memory.  The
  1135.           command you normally use to load it into low memory is:
  1136.  
  1137.           device=ansi.sys
  1138.  
  1139.           The command to load it into high memory, without using HRAM,
  1140.           would be:
  1141.  
  1142.           devicehigh=ansi.sys
  1143.  
  1144.           The commands to load the program into the second memory region in
  1145.           high memory (regions are numbered starting with 0) and provide an
  1146.           additional 64K of memory would be:
  1147.  
  1148.           device=hram.sys on /r1
  1149.           devicehigh=ansi.sys
  1150.           device=hram.sys off
  1151.  
  1152.  
  1153.           Command reference   
  1154.  
  1155.           The format of the hram.sys command is
  1156.  
  1157.           device=hram.sys [on|off] [options]
  1158.  
  1159.           [on|off]
  1160.              specifies whether HRAM should be "on" or "off".  When HRAM is
  1161.              on, programs can only be loaded into the memory region
  1162.              specified on the HRAM command line (with the /r option) and
  1163.              64K of expanded memory is temporarily converted to high DOS
  1164.              memory. 
  1165.  
  1166.           [options]
  1167.              specifies the optional HRAM parameters described in the
  1168.              following section.
  1169.  
  1170.           The following options can appear in the HRAM command. 
  1171.  
  1172.           /n
  1173.              No pause on error.  If hram.sys reports an error, it waits for
  1174.              you to press a key.  This option causes hram.sys to continue
  1175.              without waiting for a key.
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.                                                                          21
  1183.  
  1184.           /o<order>
  1185.              Set program load order.  This option is useful only if you
  1186.              have a program which must be loaded before one or more other
  1187.              programs.  For example, to ensure that program1.sys is loaded
  1188.              before program2.sys and program3.sys, include these commands
  1189.              in your config.sys file:
  1190.  
  1191.              device=hram.sys on /o1
  1192.              device=program1.sys
  1193.              device=hram.sys on /o2
  1194.              device=program2.sys
  1195.              device=program3.sys
  1196.              device=hram on
  1197.  
  1198.              This option is valid only if the /s option is used on the
  1199.              hramdev.sys command line.  Otherwise, it is ignored.
  1200.  
  1201.           /p
  1202.              Do not temporarily convert 64K of expanded memory to high DOS
  1203.              memory for use during program initialization.
  1204.  
  1205.           /r<region>
  1206.              Load into memory region number <region>.  This option causes
  1207.              DEVICEHIGH to load one or more programs into the specified
  1208.              memory region.  For example, the following commands would load
  1209.              the programs, notepad.sys and calc.sys, into memory region 1
  1210.              (memory regions are numbered starting with 0): 
  1211.  
  1212.              device=hram.sys on /r1
  1213.              devicehigh=notepad.sys
  1214.              devicehigh=calc.sys
  1215.              device=hram.sys off
  1216.  
  1217.              Without this option, DEVICEHIGH loads drivers into the first
  1218.              memory region in which they fit.
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.                                                                          22
  1242.  
  1243.  
  1244.           YOUR TURN
  1245.  
  1246.           We value you opinions.  Please let us know what you like and
  1247.           dislike about the HRAM program and user's guide.  We're dedicated
  1248.           to developing the most innovative and useful software available--
  1249.           and selling it at reasonable prices.  Your support helps make
  1250.           this possible.
  1251.  
  1252.           Please send all comments and suggestions to
  1253.  
  1254.           Biologic 
  1255.           POB 1267
  1256.           Manassas VA  
  1257.           22110
  1258.           USA
  1259.  
  1260.           THANK YOU.
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.